++++🔥 ความปลอดภัยกับการโค้ดดิ่ง 🔥+++
การเขียนหน้าเว็บ ที่มีแบบฟอร์มให้กดอัพโหลดไฟล์
...พอกด upload
...ไฟล์นั้นจะถูกนำไปวางบน server ปั๊บ
.
ถ้าเราเขียนโค้ดฝั่ง server ไม่ระมัดระวัง ตัวละก็ ...ฮึๆๆๆ
ก็จะมีรูรั่ว เมื่อhacker เห็น
ก็จะยิ้มหน้าบานเป็นจานดาวเทียม
เขาสามารถโจมตีช่องโหว่ได้ไม่ยากเย็นอะไรนัก
.
ซึ่งจะขอยกตัวอย่างภาษา PHP มาเป็นกรณีศึกษาแล้วกัน
:
😉 สำหรับวิธีโจมตีนี้
อาศัยความง่ายของ php ที่แค่วางไฟล์บน server ในทันใด
เราก็สามารถเรียกไฟล์นั้น ผ่าน url ให้ทำงานได้เลย ในทันที
...ดูง่ายมั๊ยละ!!!!!
.
*** หมายเหตุ แต่ถ้าเป็นภาษาโปรแกรมมิ่งบางภาษา
ที่เข้มงวดความปลอดภัย
การโจมตีแบบนี้จะยาก
เพราะโปรแกรมเมอร์ต้อง config ไฟล์สคริปต์ก่อน
สคริปต์นั้นถึงจะประมวลผลได้
:
:
แต่ในโพสต์นี้จะขอยกตัวอย่างโค้ด PHP ที่มีช่องโหว่นะครับ
ก็ตามรูปที่โพสต์ จะประกอบไปด้วย
:
1) หน้าฟอร์ม HTML (index.html) เอาไว้ให้อัพโหลดไฟล์ (ฝั่ง browser)
2) เมื่อ user กดอัพโหลดไฟล์ ...ไฟล์นั้นจะถูกส่งไปยัง server
3) ฝั่ง server จะใช้ภาษา PHP ง่ายๆ (upload.php) รับไฟล์ที่ส่งเข้ามา แล้วนำไปวางไว้ที่โฟล์เดอร์ใดที่หนึ่งในเครื่อง เช่น uploads
:
😱 ซึ่งการเขียนโค้ดที่ง่ายเกิ๊นไปเช่นนี้
จะเป็นช่องโหว่ให้ hacker
สามารถอัพโหลดไฟล์อันตรายขึ้นไปวางบน server ได้ชิวๆๆ
:
🤔 ดังนั้นเราต้องป้องกันการโจมตีด้วยวิธีนี้ อาทิ
- ต้องเข้มงวดเรื่องนามสกุลไฟล์ว่า ไฟล์ชนิดอะไรที่ห้าม upload (เช่น .php ห้ามทำเด็ดขาด)
- หรือจะใช้ API หรือไลบรารี่ ทำการเชคไฟล์ให้ดีๆ ว่ามีชนิดถูกต้อง
- เชค contet-type ใน header request
- จำกัดขนาดไฟล์ รวมทั้งตรวจสอบชื่อไฟล์ดีๆ
- ไดเรคทอรี่ที่จะอัพโหลดไฟล์ขึ้นไปวาง ควรไม่มีสิทธิในการรันสคริปต์ใดๆ
- ฝั่ง server ควรติดตั้งซอฟต์แวร์ scanner เอาไว้สแกนหาไฟล์แปลกปลอมของ hacker ที่หลอกเข้ามาฝั่งตัว
- ในหน้าฟอร์ม (HTML) เปลี่ยนวิธีส่ง request จากเดิม ที่ใช้ put หรือ get ให้หันมาใช้วิธี post แทน
- และวิธีการอื่นๆ ที่ไม่ได้กล่าวถึง
+++++++++++++++
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
รักกันก็กระทืบ like ชังกันอย่าด่าเยอะมันเจ็บ
.
รายละเอียดเพิ่มเติม
https://www.defensecode.com/…/web_vul…/form-file-upload.html
.
++++ 🔥 Security with code 🔥 +++
Writing a page with a form to upload a file.
... I'm going to upload.
... That file will be put on a pump server.
.
If we write server side code. Not careful, each one is... huhu.
There will be a leaking hole when the hacker sees it.
I will smile. Face is a satellite dish.
He can attack a loophole. Not so hard.
.
Which PHP language example will be a case study.
:
😉 for this way of attack
Live the ease of php that just drops a file on server instantly.
We can call that file via url to work instantly.
... Does it look easy!!!!!
.
*** Note, but if it's a programming language, some language.
Strict safety.
This kind of attack will be hard
Because programmers have to config file scripts first.
That script could be processed
:
:
But in this post, I would like to give you an example of the PHP code with the loophole.
As posted photos will be included.
:
1) HTML form page (index. html) to upload file (browser side)
2) When the user clicks upload a file... that file will be sent to server.
3) Server side uses simple PHP language (upload. php) Receive a sent file and put it in a folder somewhere in a machine such as uploads.
:
😱 which is so easy to write code.
Gonna be a loophole for hacker
Dangerous files can be uploaded to lay on server. Chill.
:
🤔 So we must prevent attack by this method.
- Must be strict about the file extensions. What type of file is prohibited (e.g. Php. Don't do it.)
- Or use API or library to check the file correctly.
- check contet-type in header request
- Limit file size and check good file name
- directory to upload file to paste should not have any script running rights.
- server side should be installed scanner software to scan for hacker foreign files that come to the side.
- In the form page (HTML), change the way to send requests from the original used put or get. Let's turn to post method instead.
- and other methods not mentioned
+++++++++++++++
Written by Thai programmer thai coder
If you love each other, you will stomp like to hate each other. Don't scold too much
.
More details.
https://www.defensecode.com/public/web_vulns/form-file-upload.html
.Translated